const { generateLicense } = require('./app/utils/getLicense');
const assert = require('assert');
module.exports = app => {
  const index = app.config.coreMiddleware.indexOf('bodyParser');
  assert(index >= 0, 'bodyParser 中间件必须存在');
  app.config.coreMiddleware.splice(index, 0, 'auth');
  app.beforeStart(async () => {
    console.log('将要启动', app.config.license);
    const license = await generateLicense();
    if (app.config.license.license != license) {
      app.logger.error('=======================应用无权限,请联系厂家=============================');
      throw '==========================================应用无权限,请联系厂家==========================================';
    }
    if (app.config.license.expireDay > 0) {
      const now = new Date().getTime();
      const startTime = new Date(app.config.license.useDate).getTime();
      if (now - startTime > 1000 * 60 * 60 * 24 * app.config.license.expireDay) {
        app.logger.error('=======================试用期结束,请联系厂家=============================');
        throw '==========================================试用期结束,请联系厂家==========================================';
      }
    }
  });
};
